1行おきに網掛けをするマクロ(vba)


☆1行おきの網掛けで見やすくなります

 表を作った後、1行おきに網掛けをしてあると、
 視線が横に移動しやすくなります。
 そこで、エクセルのマクロを作りました。
 変数の"gyou"を+1から+2など他の値にすると2行おきなど、網掛けパターンのバリエーションが増えます。
 また、色は見やすい色を"RGB(200,200,200)"の200の数値をいろいろ変更して選んで下さい。
 RGB(0,0,0)が黒で、RGB(255,255,255)が白です。

☆このマクロでできること

 エクセルの画面の様子ですと次の通りです。


カーソルのあるセルから、1行おきに灰色の網掛けを行います。

☆使い方

下に掲載したコードをコピーして、
網掛けしたいシートがあるご自身のファイルを開きます。 その後、マクロのウィンドウでコードをペーストしてください。

こうすることで、マクロがダウンロードできない環境でも
マクロの実行さえできれば、マクロを使うことができます。

マクロを実行するときのカーソル位置をスタートに網掛けを行います。
カーソル位置をずらすと、網掛けの位置も変わります。


☆コード


Sub 交互に網掛け()

        '表の左上にカーソルを移動させこのマクロを実行すると1行おきに網掛けできます
        '網掛けする領域はセルに値が入っている範囲です
        'gyouはセルの縦位置 retsuはセルの横位置、habaは網掛けする表の幅
        '無限ループになってもエラーで戻れるように変数は整数型にしてあります。

    Dim gyou, retsu, haba As Integer

            'gyouとretsuにカーソルがあるセルの縦位置(Row),横位置(Column)を代入
            'habaは、網掛けをする表の横幅のセルの数が入る

    gyou = ActiveCell.Row
    retsu = ActiveCell.Column
    haba = 0

            '値が入っているセルが横方向のどこまでか調べる
            'カーソルの場所からセルが""(空白)になるまでhabaに1を足していく
            
    Do While Cells(gyou, retsu + haba).Value <> ""
        haba = haba + 1
    Loop

            'カーソルの場所から下方向に""(空白)になるまでgyouを2ずつ増やす
            'カーソルの位置からhaba分のセルまでInterior.Colorでセルの色を変える
            '色はRGB(200,200,200)の200の数値を変えて変更できます
            'RGB(255,255,255)は白です。
            'gyou = gyou +2 の +2 を変更すると網掛け間隔を変更できます。
            
    Do While Cells(gyou, retsu).Value <> ""

        Cells(gyou, retsu).Resize(, haba).Interior.Color = RGB(200, 200, 200)
        Cells(gyou + 1, retsu).Resize(, haba).Interior.Color = RGB(255, 255, 255)
        gyou = gyou + 2

    Loop

End Sub


☆参考文献

  1. (1) EXCELマクロ&VBAプロ技セレクション 技術評論社
←戻る